package com.zhuangjie.shop.vo;

import com.zhuangjie.base.entity.TimeRange;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 内部使用的预定DayAndTimeRanges （带有立即时间）
 *
 * @author zhuangjie
 * @date 2023/11/25
 */
@Data
public class PredetermineDayAndTimeRangesForInternalUse {
    /**
     * 立即预计时间的格式化时间 (如果没有传入配送时间deliveryTime，则不会生成问立即配送时间)
     */
    private LocalDateTime immediatePredetermineDateTime;
    /**
     * 制作餐食用时
     */
    private Integer makeTime;
    /**
     * 配送用时
     */
    private Integer deliveryTime;
    /**
     * 可预订天数及它的具体可预约时间[['7:30~10:30','11:00~15:30'],[],[]]
     *  该属性的值是通过店铺的"预定天数"与"店铺经营规则"得到的
     * index=0的是今天的，以此类推..
     */
    private List<List<TimeRange>> predetermineDaysValidPeriod;

    public LocalDateTime getImmediatePredetermineDateTime() {
        if (immediatePredetermineDateTime == null) {
            throw new RuntimeException("没有合适的配送时间！");
        }
        return immediatePredetermineDateTime;
    }
}
